iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 27
0

在學習 Kotlin 語言的過程中,發現迴圈的用法有很多很方便的地方,這邊將常用的做個整理。

For 迴圈

Kotlin 中基本的 for 迴圈寫法可以用兩個 . 來表達

for (i in 0 .. 5){
    println(i)
}

輸出結果為:

0
1
2
3
4
5

downTo

使用 downTo 關鍵字還能夠反向執行,如下的範例:

for (i in 5 downTo 0){
    println(i)
}

輸出結果

5
4
3
2
1
0

until

除了用 .. 來表示幾到幾之外,Kotlin 還可以使用 until 關鍵字來表達,但是要注意 until 只會執行到目標數字 - 1 (不包含本身)
如以下的範例

for (i in 0 until 5) {
    println(i)
}

輸出結果為:

0
1
2
3
4

假設今天要輸出一個 ArrayList 中的成員,一般可以這樣寫

val list = arrayListOf<Int>(1, 2, 3, 4, 5)

for (i in 0 .. list.size - 1){
    println(list[i])
}

輸出結果為:

1
2
3
4
5

現在換成 until 的寫法

val list = arrayListOf<Int>(1, 2, 3, 4, 5)

for (i in 0 until list.size){
    println(list[i])
}

輸出結果為:

1
2
3
4
5

輸出結果都是一樣的,但是會讓程式比較易讀


Step

在 for 迴圈中,可以使用 step 來跳過幾次索引,範例如下

for (i in 0 .. 10 step 2 ){
    println(i)
}

得到輸出結果:

0
2
4
6
8
10

將字母當作範圍

Kotlin 還支援將字元當作範圍來建立迴圈

for (i in 'a' .. 'g'){
    println(i)
}

輸出結果:

a
b
c
d
e
f
g

一樣支援 step

for (i in 'a' .. 'g' step 2){
    println(i)
}

輸出結果:

a
c
e
g

遍歷集合

要遍歷一個集合,可以直接放到 for 迴圈中 in 一個集合

val list = arrayListOf<Int>(1, 2, 3, 4, 5)

for(item in list){
    println(item)
}

或是使用 foreach 來達成

list.forEach { item->
    println(item)
}

如果需要獲得索引的資訊,可以在 for 迴圈中使用 indices

for (i in list.indices) {
    println(list[i])
}

輸出結果都是:

1
2
3
4
5

以上這次開發中比較常使用到的迴圈用法。


上一篇
Day 26 Shake
下一篇
Day 28 GoogleMap Polygons
系列文
Kotlin and Android 30 days30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言